package com.briup.corejava.day03;

/**
 * 交换两个变量的值（不是用第三方变量）
 * 1、加减法
 * 2、异或法
 */
public class Test4 {
    public static void main(String[] args) {
        int a = 10;
        int b = 11;
        // 假设使用第三方变量
//        int c;
//        c = a;
//        a = b;
//        b = c;
        // 不使用第三方变量（加法）
//        a = a + b; // a = 21 , b = 11
//        b = a - b; // a = 21 , b = 10
//        a = a - b; // a = 11 , b = 10

        // 不使用第三方变量（异或）
        a = a ^ b; // a = 0001 , b = 1011
        b = a ^ b; // a = 0001 , b = 1010
        a = a ^ b; // a = 1011 , b = 1010
    }
}
